#ifndef DATASETINTERFACES_H_JM_20121127
#define DATASETINTERFACES_H_JM_20121127
/// @file DatasetInterfaces.h
/// _OK_ Sada rozhrani natvrdo v kode zadanych datovych sad pre  vstupny box.

// ##
#include "../BoxBaseTypes.h"

namespace jm4bbx {

	/// Zakladne rozhranie obsahuje len pocty riadkov a stlpcov nic viac nakolko
	/// nema informacie o poskytovanom type dat.
	struct Dataset {
		virtual size_t getColumnCount() const = 0;
		virtual size_t getRowCount() const = 0;
	};

	/// Rozhranie pre cisto celociselne data zadane v kode.
	struct IntegerDataset : public Dataset {
		typedef integerPolicyType policyType;
		typedef integerType valueType;

		virtual valueType getValue(size_t columnIndex, size_t rowIndex) const = 0;
	};

	/// Rozhranie pre cisto celociselne data zadane v kode.
	struct StringDataset : public Dataset {
		typedef stringPolicyType policyType;
		typedef stringType valueType;

		virtual valueType getValue(size_t columnIndex, size_t rowIndex) const = 0;
	};

} // namespace jm4bbx

#endif
